package org.adoxx.bpmn; import java.util.HashMap; import org.adoxx.pn.P; import org.adoxx.pn.PetriNet; import org.adoxx.pn.T; public class BPUtils { //Ritorna tutti i places che abilitano l'oggetto BPIdObject public static String[] getPNIdsFromBPMNId(PetriNet pn, String bpIdObject){ String[] pnIdObject = new String[0]; for(P place:pn.getPlaceList_safe()) if(place.description.equals(bpIdObject) && place.additionalInfoList.containsKey("isEntryPoint") && place.additionalInfoList.get("isEntryPoint").equals("true")){ pnIdObject = new String[]{place.name}; break; } if(pnIdObject.length==0) for(T transition:pn.getTransitionList_safe()) if(transition.description.equals(bpIdObject) && transition.previousList.size()!=0 && transition.additionalInfoList.containsKey("isEntryPoint") && transition.additionalInfoList.get("isEntryPoint").equals("true")){ pnIdObject = new String[transition.previousList.size()]; for(int i=0;i getBPMNObjects(PetriNet pn){ HashMap ret = new HashMap(); for(P place:pn.getPlaceList_safe()) if(place.additionalInfoList.containsKey("isEntryPoint") && place.additionalInfoList.get("isEntryPoint").equals("true")) ret.put(place.description, place.additionalInfoList.get("name")); for(T transition:pn.getTransitionList_safe()) if(transition.previousList.size()!=0 && transition.additionalInfoList.containsKey("isEntryPoint") && transition.additionalInfoList.get("isEntryPoint").equals("true")) ret.put(transition.description, transition.additionalInfoList.get("name")); return ret; } }